// 1. 创建 koa 对象
const Koa = require('koa')
const app = new Koa()
// 2. 编写响应函数（中间件）
// ctx：上下文，web容器,ctx.request，ctx.responsn
// next：下一个中间件，下一层中间件是否能够得到执行，取决于 next 这个函数有没有被调用
app.use((ctx, next) => {
  // console.log(ctx.request.url)
  console.log('第一层中间件...1')
  ctx.response.body = 'hello Koa2'
  next()
  console.log('第一层中间件...2')
})

app.use(async (ctx, next) => {
  console.log('第二层中间件...1')
  const ret = await next()
  console.log(ret)
  console.log('第二层中间件...2')
})

app.use((ctx, next) => {
  console.log('第三层中间件')
  return 'i love you'
})

// 3.绑定端口号 3000
app.listen(3000)